home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / OpenGL / glcopytexsubimage3dext.z / glcopytexsubimage3dext
Encoding:
Text File  |  2002-10-03  |  12.9 KB  |  200 lines

  1.  
  2.  
  3.  
  4. ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))     OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee     ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT - copy pixels into a 3D texture subimage
  10.  
  11.  
  12. CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  13.      void ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT( GLenum _t_a_r_g_e_t,
  14.                                   GLint _l_e_v_e_l,
  15.                                   GLint _x_o_f_f_s_e_t,
  16.                                   GLint _y_o_f_f_s_e_t,
  17.                                   GLint _z_o_f_f_s_e_t,
  18.                                   GLint _x,
  19.                                   GLint _y,
  20.                                   GLsizei _w_i_d_t_h,
  21.                                   GLsizei _h_e_i_g_h_t )
  22.  
  23.  
  24. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  25.      _t_a_r_g_e_t   The target texture.  Must be GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____3333DDDD____EEEEXXXXTTTT
  26.  
  27.      _l_e_v_e_l    The level-of-detail number.  Level 0 is the base image level.
  28.               Level _n is the _nth mipmap reduction image.
  29.  
  30.      _x_o_f_f_s_e_t  A texel offset in the x direction within the texture array.
  31.  
  32.      _y_o_f_f_s_e_t  A texel offset in the y direction within the texture array.
  33.  
  34.      _z_o_f_f_s_e_t  A texel offset in the z direction within the texture array.
  35.  
  36.      _x        The x coordinate of the lower-left corner of the pixel rectangle
  37.               to be transferred to the texture array.
  38.  
  39.      _y        The y coordinate of the lower-left corner of the pixel rectangle
  40.               to be transferred to the texture array.
  41.  
  42.      _w_i_d_t_h    The width of the texture subimage.
  43.  
  44.      _h_e_i_g_h_t   The height of the texture subimage.
  45.  
  46. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  47.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT replaces a rectangular portion of a three-
  48.      dimensional texture image with pixels from the current GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR
  49.      (rather than from main memory, as is the case for ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT).
  50.  
  51.      The screen-aligned pixel rectangle with lower-left corner at (_x, _y)
  52.      having width _w_i_d_t_h and height _h_e_i_g_h_t replaces the rectangular area of the
  53.      S-T slice located at _z_o_f_f_s_e_t with  x indices _x_o_f_f_s_e_t through
  54.      _x_o_f_f_s_e_t+_w_i_d_t_h-1, inclusive, and y indices _y_o_f_f_s_e_t through
  55.      _y_o_f_f_s_e_t+_h_e_i_g_h_t-1, inclusive (But, see discussion of GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX
  56.      below).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))     OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee     ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))
  71.  
  72.  
  73.  
  74.      The destination rectangle in the texture array may not include any texels
  75.      outside the texture array as it was originally specified.  It is not an
  76.      error to specify a subtexture with zero width or height, but such a
  77.      specification has no effect.
  78.  
  79.      When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____RRRREEEEAAAADDDD____IIIINNNNGGGGRRRR is enabled, every other row of the source
  80.      pixel rectangle is read.  The height of the source pixel rectangle is
  81.      equivalent to 2xheight.  Only rows (y+0,y+2,...) of the source are used
  82.      to define the rows of the texture subimage that are affected by the copy.
  83.  
  84.      When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled, every other row of the texture
  85.      subimage is defined.  The height of the texture subimage is equivalent to
  86.      2xheight.  Only rows (yoffset+0,yoffset+2,...) of the S-T slice (where
  87.      the border is considered part of the slice) are modified. A complete
  88.      video frame may be assembled in a slice of the texture array by invoking
  89.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT on two consecutive video fields, with _y_o_f_f_s_e_t
  90.      values that differ by one.
  91.  
  92.      The pixels in the rectangle are processed exactly as if ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss had
  93.      been called, but the process stops just before final conversion.  At this
  94.      point all pixel component values are clamped to the range [0, 1] and then
  95.      converted to the texture's internal format for storage in the texel
  96.      array.
  97.  
  98.      If any of the pixels within the specified rectangle of the current
  99.      GGGGLLLL____RRRREEEEAAAADDDD____BBBBUUUUFFFFFFFFEEEERRRR are outside the read window associated with the current
  100.      rendering context, then the values obtained for those pixels are
  101.      undefined.
  102.  
  103. NNNNOOOOTTTTEEEESSSS
  104.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT is part of the EEEEXXXXTTTT____ccccooooppppyyyy____tttteeeexxxxttttuuuurrrreeee extension.  See
  105.      ggggllllIIIInnnnttttrrrroooo for more information about using extensions.
  106.  
  107. EEEERRRRRRRROOOORRRRSSSS
  108.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated when _t_a_r_g_e_t is not one of the allowable
  109.      values.
  110.  
  111.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _l_e_v_e_l is less than zero or greater than
  112.      log (_m_a_x), where _m_a_x is the returned value of GGGGLLLL____MMMMAAAAXXXX____TTTTEEEEXXXXTTTTUUUURRRREEEE____SSSSIIIIZZZZEEEE.
  113.         2
  114.  
  115.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if xoffset<-TEXTURE_BORDER,
  116.      (xoffset+width)>(TEXTURE_WIDTH-TEXTURE_BORDER), yoffset<-TEXTURE_BORDER,
  117.      (yoffset+interlacexheight)>(TEXTURE_HEIGHT-TEXTURE_BORDER), or if
  118.      zoffset<-TEXTURE_BORDER.  Where TEXTURE_WIDTH, TEXTURE_HEIGHT, and
  119.      TEXTURE_BORDER are the state values of the texture image being modified,
  120.      and interlace is 1 if GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is disabled and 2 otherwise.
  121.      Note that TEXTURE_WIDTH and TEXTURE_HEIGHT include twice the border
  122.      width.
  123.  
  124.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _w_i_d_t_h or _h_e_i_g_h_t is negative.
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                                                                         PPPPaaaaggggeeee 2222
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137. ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))     OOOOppppeeeennnnGGGGLLLL RRRReeeeffffeeeerrrreeeennnncccceeee     ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT((((3333GGGG))))
  138.  
  139.  
  140.  
  141.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated when the texture array has not been
  142.      defined by a previous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD (or equivalent) operation.
  143.  
  144.      GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT is executed
  145.      between the execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of
  146.      ggggllllEEEEnnnndddd.
  147.  
  148. AAAASSSSSSSSOOOOCCCCIIIIAAAATTTTEEEEDDDD GGGGEEEETTTTSSSS
  149.      ggggllllGGGGeeeettttTTTTeeeexxxxIIIImmmmaaaaggggeeee
  150.  
  151.  
  152. MMMMAAAACCCCHHHHIIIINNNNEEEE DDDDEEEEPPPPEEEENNNNDDDDEEEENNNNCCCCIIIIEEEESSSS
  153.      ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT is not supported on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222,
  154.      and VVVVTTTTXXXX systems.
  155.  
  156.      On IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, there is a performance benefit when the width
  157.      of the image to be transferred to texture memory is a multiple of 8.
  158.  
  159.      Texture borders are not supported on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems.
  160.      Applications should use borderless textures and GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS
  161.      wrap mode.
  162.  
  163.      On HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt systems, if the right side of the image
  164.      to be transferred to texture memory is not the right side of the texture,
  165.      then its index must be a multiple of 32, where index = xoffset+width.
  166.      Otherwise it will generate a GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE error.
  167.  
  168.      The SSSSGGGGIIIIXXXX____iiiinnnntttteeeerrrrllllaaaacccceeee extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
  169.      systems, on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems, on OOOOccccttttaaaannnneeee2222
  170.      VVVVPPPPrrrroooo systems, and on OOOO2222 systems.
  171.  
  172.      The IIIINNNNGGGGRRRR____iiiinnnntttteeeerrrrllllaaaacccceeee____rrrreeeeaaaadddd extension is supported only on OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo
  173.      systems, and on OOOO2222 systems.
  174.  
  175.  
  176. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  177.      ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee3333DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee3333DDDDEEEEXXXXTTTT, ggggllllCCCCooooppppyyyyPPPPiiiixxxxeeeellllssss.
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                                                                         PPPPaaaaggggeeee 3333
  197.  
  198.  
  199.  
  200.